1. Field of the Invention
The present invention relates to Gamma transform, and more particularly, to a Gamma transform method requiring lesser storage space, and a Gamma transform unit thereof.
2. Description of the Prior Art
A Gamma curve represents the characteristics of a display apparatus, such as a CRT monitor, an LCD monitor, or a Plasma monitor. Using the inputted gray level and outputted luminance of a display apparatus as the transversal axis and vertical axis respectively, a drawn curve is referred to as the Gamma curve of the display apparatus. The function corresponding to the Gamma curve is called a Gamma function of the display apparatus.
Since the Gamma function of the display apparatus is not a linear function, performing mathematical operations to obtain the Gamma function output value would be a complicated job. Therefore, in the prior art a lookup table is normally utilized to store all or part of the Gamma function output values. The complicated Gamma function operations are then omitted. For example, using x and Gamma(x) to represent the input value and output value of the Gamma function respectively, the lookup table could be used to store the Gamma function output values GAMMA(0), GAMMA(1), GAMMA(2), . . . , GAMMA(253), GAMMA(254), and GAMMA(255) corresponding to the input values 0, 1, 2 . . . , 253, 254, and 255 respectively. However, since each of the Gamma function output values has a long bit length, using the lookup table to store all of the 256 Gamma function output values will cause a lot of storage space to be occupied. The overall hardware cost will also be increased.
To economize the use of storage space and to reduce the hardware cost, other prior art methods only store part of the 256 Gamma function output values in the lookup table. The rest of the Gamma function output values that are not stored in the lookup table could be obtained through interpolation. For example, assume that the lookup table is used to store the Gamma function output values GAMMA(0), GAMMA(8), GAMMA(16), . . . , GAMMA(240), GAMMA(248), and GAMMA(255) corresponding to the input values 0, 8, 16, . . . , 240, 248, and 255 respectively. If the received input value is 8, the required output value GAMMA(8) can be obtained by looking up the lookup table directly. If, on the other hand, the received input value is 11, two reference output values GAMMA(8) and GAMMA(16) should be obtained first by looking up the lookup table. Then the required output value GAMMA(11) is obtained through interpolating the two reference output values GAMMA(8) and GAMMA(16). More specifically, GAMMA(11)=(⅝)*GAMMA(8)+(⅜)*GAMMA(16). In this manner, only 33 Gamma function output values should be stored in the lookup table. Compared to the aforementioned method that stores the total 256 Gamma function output values in the lookup table, fewer storage space is required in this scheme. However, more operations must be performed in this scheme.
Since the bit length of a Gamma function output value is not short, storing the Gamma function output values in the lookup table will inevitably consume storage space to some extent. The hardware cost cannot be effectively reduced.